package org.jeecg.modules.scm.dto;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: 应收账款表实体类
 * @Author: zzq
 * @Date: 2021-10-25
 * @Version: V1.0
 */
@Data
@TableName("scm_receivables")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "应收账款表实体类对象", description = "应收账款表实体类")
public class EditReceivablesDto implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value = "ID")
    private Integer id;
    /**
     * 合同名称
     */
    @ApiModelProperty(value = "合同名称")
    private String contractName;
    /**
     * 合同编号
     */
    @ApiModelProperty(value = "合同编号")
    private String contractNo;
    /**
     * 原始债务人客户号
     */
    @ApiModelProperty(value = "原始债务人客户号")
    private Integer originalDebtorCusNo;
    /**
     * 共同债务人客户号
     */
    @ApiModelProperty(value = "共同债务人客户号")
    private Integer coDebtorCusNo;
    /**
     * 原始债权人客户号
     */
    @ApiModelProperty(value = "原始债权人客户号")
    private Integer originalCreditorCusNo;
    /**
     * 应收账款金额
     */
    @ApiModelProperty(value = "应收账款金额")
    private BigDecimal amount;
    /**
     * 应收账款币种
     */
    @ApiModelProperty(value = "应收账款币种")
    private Integer currency;
    /**
     * 应收账款产生日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "应收账款产生日期")
    private Date produceTime;
    /**
     * 应收账款到期日
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "应收账款到期日")
    private Date dueTime;
    /**
     * 收款账号
     */
    @ApiModelProperty(value = "收款账号")
    private String shroffAccountNumber;
    /**
     * 收款账号名称
     */
    @ApiModelProperty(value = "收款账号名称")
    private String shroffAccountName;
    /**
     * 收款账号开户行
     */
    @ApiModelProperty(value = "收款账号开户行")
    private String shroffAccountBanke;
    /**
     * 状态 1-待确认、2-已确认
     */
    @ApiModelProperty(value = "状态 1-待确认、2-已确认")
    private Integer status;
    /**
     * 原始云链单凭证编号
     */
    @ApiModelProperty(value = "原始云链单凭证编号")
    private String originalChainNo;
    /**
     * 原始云链单金额
     */
    @ApiModelProperty(value = "原始云链单金额")
    private BigDecimal originalChainAmount;
    /**
     * 原始云链单币种
     */
    @ApiModelProperty(value = "原始云链单币种")
    private Integer originalChainCurrency;
    /**
     * 贸易合同附件
     */
    @ApiModelProperty(value = "贸易合同附件")
    private String contractAccessory;
    /**
     * 其它支持材料
     */
    @ApiModelProperty(value = "其它支持材料")
    private String otherMaterials;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;
}